package com.gshrms.recruitment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gshrms.common.core.domain.AjaxResult;
import com.gshrms.common.core.domain.entity.SysDictData;
import com.gshrms.recruitment.entity.RecruitmentApplicants;
import com.gshrms.recruitment.entity.RecruitmentInfoPosition;
import com.gshrms.recruitment.entity.RecruitmentInterview;
import com.gshrms.recruitment.entity.RecruitmentStrict;
import com.gshrms.recruitment.entity.param.RecruitmentFeedbackParam;
import com.gshrms.recruitment.entity.param.RecruitmentReportParam;
import com.gshrms.setting.domain.StaffInfoTable;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 应聘者信息表 服务类
 * </p>
 *
 * @author xj
 * @since 2025-03-31
 */
public interface IRecruitmentApplicantsService extends IService<RecruitmentApplicants> {

    public RecruitmentApplicants insert(RecruitmentApplicants recruitmentApplicants);

    public List<RecruitmentInfoPosition> vacancy();

    Integer notReadNum(Long userId);

    List<RecruitmentInterview> myApplication(Long userId);

    List<RecruitmentStrict> strictRequirement(String positionId);

    List<SysDictData> selectDictDataByType();

    List<StaffInfoTable> selectTable();

    Integer feedback(RecruitmentFeedbackParam param);

    void uploadReport(RecruitmentReportParam param);

    RecruitmentInfoPosition selectById(String positionId);

    List<String> myVacancy(Long userId);

    void updateReadState(Long userId);

    Integer isRepeat(Long userId);

    Integer delReport(RecruitmentReportParam param);
}
